System and method for accessing and managing mobile device metadata

ABSTRACT

A system and method are provided for accessing information describing content residing on agent devices. The system includes a central node and agent devices communicatively coupled by a network. The central node obtains content information describing content stored at the agent devices and optionally the locations of the agent devices from the agent devices. The content information and optionally the locations of the agent devices are stored in a database associated with the central node. The central node enables requesting nodes such as the agent devices to access the database. For example, the agent devices may communicate with the central node to obtain the content information for a known agent device or to query the database to find agent devices having content information and optionally locations that satisfy specified criteria. Alternatively, the central node may provide alerts to the agent devices when other agent devices matching specified criteria are available.

PRIORITY CLAIM

The present application is a continuation of U.S. Patent ApplicationSer. No. 11/318,662, entitled SYSTEM AND METHOD FOR ACCESSING ANDMANAGING MOBILE DEVICE METADATA, which was filed on Dec. 27, 2005, whichis incorporated by reference herein in its entirety for all purposes.

FIELD OF THE INVENTION

The present invention relates to accessing and managing contentinformation, or metadata, describing content stored on a number ofmobile or stationary devices.

BACKGROUND OF THE INVENTION

Content stored by mobile devices such as mobile telephones, PersonalDigital Assistants (PDAs), digital media players, and the like canprovide valuable information regarding the preferences of the users. Thepreferences of the users would be valuable for identifying participantsfor a chat session, identifying participants for an ad-hoc network,generating a play list for a nearby media player, and the like.Accordingly, there remains a need for easily managing and accessingcontent information describing content stored on mobile devices.

SUMMARY OF THE INVENTION

The present invention relates to a system and method for accessing andmanaging information, or metadata, describing content residing on anumber of agent devices. In general, the system includes a central nodecommunicatively coupled to a number of agent devices by a network. Inoperation, the central node communicates with the agent devices toobtain content information describing content stored at the agentdevices, and optionally, the locations of the agent devices. The contentinformation and Optionally the locations of the agent devices are storedin a database associated with the central node. Thereafter, the centralnode enables requesting nodes such as the agent devices to access thedatabase. For example, the agent devices may communicate with thecentral node to obtain the content information for one or more knownagent devices or to query the database to find agent devices havingcontent information, and optionally, locations that satisfy specifiedcriteria. As another example, the central node may provide automaticalerts to the agent devices when other agent devices matching specifiedcriteria are available.

Those skilled in the art will appreciate the scope of the presentinvention and realize additional aspects thereof after reading thefollowing detailed description of the preferred embodiments inassociation with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawing figures incorporated in and forming a part ofthis specification illustrate several aspects of the invention, andtogether with the description serve to explain the principles of theinvention.

FIG. 1 illustrates a system wherein content information and optionally alocation are obtained from a number of agent devices and stored in adatabase at a central node according to one embodiment of the presentinvention;

FIG. 2 is a table illustrating an exemplary embodiment of the databasemaintained at the central node of FIG. 1 according to one embodiment ofthe present invention;

FIG. 3 illustrates an exemplary process of querying the database at thecentral node of FIG. 1 to obtain content information for an agent deviceaccording to one embodiment of the present invention;

FIG. 4 illustrates an exemplary process wherein an agent device queriesthe database at the central node of FIG. 1 to find other agent devicessatisfying specified criteria according to one embodiment of the presentinvention;

FIG. 5 illustrates an exemplary process wherein the central node of FIG.1 provides automatic alerts to an agent device when other agent devicessatisfying specified criteria are available according to one embodimentof the present invention;

FIG. 6 illustrates an exemplary process for obtaining compatibilityinformation for two agent devices from the central node of FIG. 1according to one embodiment of the present invention;

FIG. 7 is a block diagram of an exemplary embodiment of the central nodeof FIG. 1; and

FIG. 8 is a block diagram of an exemplary embodiment of the agentdevices of FIG. 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments set forth below represent the necessary information toenable those skilled in the art to practice the invention and illustratethe best mode of practicing the invention. Upon reading the followingdescription in light of the accompanying drawing figures, those skilledin the art will understand the concepts of the invention and willrecognize applications of these concepts not particularly addressedherein. It should be understood that these concepts and applicationsfall within the scope of the disclosure and the accompanying claims.

The present invention relates to a system and method for accessing andmanaging information, or metadata, describing content residing on anumber of agent devices. As illustrated in FIG. 1, the present inventionmay be implemented by a system 10 including a central node 12, agentdevices 14-20, and a network 22, such as the Internet. The central node12 is connected to the network 22 and maintains a database 24 storingcontent information describing content stored by each of the agentdevices 14-20, and optionally, a location for each of the agent devices14-20. The locations may be stored as actual latitude and longitudecoordinates or as any other information identifying the locations of theagent devices 14-20. Although the central node 12 is illustrated as asingle network node, the central node 12 may be implemented as a numberof servers each maintaining all or a portion of the database 24.

In operation, central node 12 obtains the content information andlocations from the agent devices 14-20. The central node 12 may requestthe content information and locations from the agent devices 14-20 orreceive the content information and locations from the agent devices14-20 automatically. In addition, the central node 12 may obtainperiodic updates for the content information and locations of the agentdevices 14-20 either by request or automatically. For the contentinformation, the updates may include new content information andinformation identifying content information to remove from the database24.

The central node 12 may store the content information and location forthe agent devices 14-20 such that the content information and locationfor an agent device are overwritten when an update is received from theagent device. Alternatively, the central node 12 may store the contentinformation and location for the agent devices 14-20 in a historicalfashion. For example, the database 24 may include a current tablestoring the current information and location for each of the agentdevices 14-20 and one or more historical tables storing previous contentinformation and locations for the agent devices 14-20.

As discussed below, the agent devices 14-20 may communicate with thecentral node 12 to obtain the content information for one or more knownagent devices or to query the database 24 to find agent devices havingcontent information and optionally locations that satisfy specifiedcriteria. The central node 12 may additionally or alternatively provideautomatic alerts to the agent devices 14-20 when other agent devicesmatching specified criteria are available.

The agent devices 14-20 may be any mobile or stationary device that isconnected to the network 22. As illustrated, the agent devices 14-20 areconnected to the network 22 via communication links 26-32. For example,the agent devices 14-20 may be personal computers, Personal DigitalAssistants (PDAs), mobile telephones, digital media players such as MP3players or satellite radios, digital picture frames, a billboarddisplaying digital content, or the like. If the agent devices 14-20 aremobile devices, the communication links 26-32 may be wirelesscommunication links formed using a cellular communications standard, theWireless Fidelity (Wi-Fi) standard, one of the IEEE 802.11 standards, orthe like.

In this example, the agent devices 14 and 16 are communicatively coupledby a local wireless connection 34, thereby forming a local wirelessnetwork 36. The agent devices 18 and 20 are communicatively coupled by alocal wireless connection 38, thereby forming a local wireless network40. The local wireless connections 34 and 38 may be formed using awireless communication standard such as the Bluetooth standard, theZigbee standard, one of the IEEE 802.11 standards, or the like. Thelocal wireless networks 36 and 40 are exemplary and intended toillustrate that the agent devices 14-20 are enabled to communicate withone another using a local wireless interface when proximate to oneanother. As used herein, “proximate” means that a distance between twoagent devices is such that communications between the agent devices canbe established using the local wireless interface.

The agent device 14 includes a content storage unit 42, a contentinformation producer 44, a content information consumer 46, andoptionally a location service 48. Note that the discussion herein of theagent device 14 is equally applicable the agent devices 16-20. Further,while the agent device 14 includes both the content information producer44 and the content information consumer 46, the agent device 14 mayinclude only one of the content information producer 44 and the contentinformation consumer 46.

The content storage unit 42 may be implemented in memory such as RandomAccess Memory (RAM) or in a storage device such as a hard disc drive andoperates to store various content. The types of content stored in thecontent storage unit 42 depend on the operations performed by the agentdevice 14. The content storage unit 42 may store digital assets such as,but not limited to, digital audio files, digital video files, digitalimages, playlists, bookmarked Uniform Resource Locators (URLs), dialedand received call lists including telephone numbers dialed and telephonenumbers from which calls have been received, an address book, and thelike. The address book may include information such as a name, mailingaddress, e-mail address, home page URL, telephone number, and the likefor any number of contacts.

The content information producer 44 may be implemented in hardware,software, or a combination thereof and operates to provide contentinformation describing all or a portion of the content stored in thecontent storage unit 42 and optionally the location of the agent device14 to the central node 12. The content information producer 44 mayprovide the content information and location to the central node 12 inresponse to a request from the central node 12. Alternatively, afterinitially sending the content information to the central node 12, thecontent information producer 44 may periodically send updates for thecontent information and the location of the agent device 14.

The content information and optionally the location are stored in thedatabase 24 in association with an identifier (ID) of the agent device14. For digital images, the content information may include, but is notlimited to, any number of tag values such as International PressTelecommunications Council (IPTC) and Exchangeable Image File (EXIF) tagvalues. For example, the content information may include one or morekeywords, a photo album name, a caption, a location of capture, a dateand time of capture, a file name, and the like for each digital image.In a similar fashion, for each digital audio file, the contentinformation may include, but is not limited to, a genre, artist name,album name, title, and file name. For each digital video file, thecontent information may include information such as, but not limited to,a genre, actor or actress names, title, and file name. The contentinformation may also include playlists, information describing contentcurrently being played by the agent device 14, bookmarked URLs, receivedand dialed call lists, address books, and the like.

In one embodiment, the content information producer 44 may filter thecontent information according to predetermined configurations beforesending the content information to the central node 12 such that onlydesired content information is provided to the central node 12. This maybe beneficial for security purposes. More specifically, content may bestored in the content storage unit 42 that a user associated with theagent device 14 desires to be kept private. As such, the user mayconfigure the content information producer 44 such that the contentinformation producer 44 filters the private information from the contentinformation and provides only the filtered content information to thecentral node 12 for storage in the database 24.

As discussed below, the content information producer 44 may also providethe ID of the agent device 14 to the other agent devices 16-20 via alocal wireless communication interface when the agent device 14 isproximate to the agent devices 16-20. Preferably, the ID of the agentdevice 14 is provided as part of a broadcast message including the ID ofthe agent device 14 and a URL of the central node 12. This may beparticularly beneficial where the database 24 is distributed among anumber of central nodes each having a different URL. In one embodiment,the broadcast message may be implemented as an Extensible MarkupLanguage (XML) message.

In this example, the agent device 14 is proximate to the agent device16, and the content information producer 44 may provide the ID of theagent device 14 and optionally the URL of the central node 12 to theagent device 16 via the local wireless connection 34. Optionally, thecontent information producer 44 may also provide IDs previously obtainedfrom other agent devices. As discussed below, the agent device 16 maythen use the ID of the agent device 14 to query the database 24 at thecentral node 12 to obtain all or a portion of the content informationfor the agent device 14 and optionally the location of the agent device14.

The content information consumer 46 may be implemented in hardware,software, or a combination thereof. As discussed below, the contentinformation consumer 46 may: (1) obtain the Ds of ones of the agentdevices 16-20 proximate to the agent device 14 and query the database 24at the central node 12 to obtain the content information and optionallylocations for the ones of the agent devices 16-20, (2) query thedatabase 24 at the central node 12 to obtain the ID, contentinformation, and optionally location for ones of the agent devices 16-20satisfying specified criteria; (3) receive automatic alerts from thecentral node 12 when ones of the agent devices 16-20 satisfyingspecified criteria are available; or (4) obtain the IDs of ones of theagent devices 16-20 proximate to the agent device 14 and query thedatabase 24 at the central node 12 to obtain compatibility informationfor the ones of the agent devices 16-20.

The agent device 14 may optionally include a location service 48 forobtaining the location of the agent device 14. The location service 48may be a Satellite Positioning System (SPS) receiver such as a GlobalPositioning System (GPS) receiver or the like. Alternatively, if theagent device 14 has access to a cellular network, the location service48 may obtain the location of the agent device 14 from the cellularnetwork.

FIG. 2 is a table illustrating an exemplary embodiment of the database24. In this example, the database 24 stores content informationdescribing digital assets such as digital images and digital audio filesstored by each of the agent devices 14-20. As shown, each entry in thedatabase 24 includes the ID of the associated one of the agent devices14-20, the location of the associated one of the agent devices 14-20, atype of the associated digital asset, a folder name of the folder inwhich the digital asset is stored at the associated one of the agentdevices 14-20, and a file name of the digital asset. In addition, foreach digital image, the database 24 stores a photo album name and one ormore keywords. For each digital audio file, the database 24 stores agenre, artist name, and album name. Again, the table illustrated in FIG.2 is exemplary. Various alternative or additional information may bestored in the database 24 as will be apparent to one of ordinary skillin the art. For example, the database 24 may additionally oralternatively include information describing one or more songs or videosin playlists stored on the agent devices 14-20, information describingcontent currently being played by the agent devices 14-20, bookmarkedURLs stored on the agent devices 14-20, received and dialed call listsstored on the agent devices 14-20, information from address books storedon the agent devices 14-20, and the like.

FIGS. 3-6 illustrate four functions of the central node 12. In general,FIG. 3 illustrates an exemplary process of querying the database 24 atthe central node 12 to obtain content information associated with an IDbroadcast by from the agent device 16 to the agent device 14 via thelocal wireless connection 34. FIG. 4 illustrates an exemplary processwherein the agent device 14 queries the database 24 at the central node12 to find ones of the agent devices 16-20 satisfying specifiedcriteria. FIG. 5 illustrates an exemplary process wherein the centralnode 12 provides automatic alerts to the agent device 14 when ones ofthe agent devices 16-20 satisfying specified criteria are available.FIG. 6 illustrates an exemplary process of requesting a compatibilityinformation for the agent devices 14 and 16.

Regarding FIG. 3, the process begins when the agent device 16 isproximate to the agent device 14, such that the local wirelessconnection 34 is established. For example, the local wireless connection34 may be established when a user carrying the agent device 16 enters aroom where the agent device 14 is located or when a user carrying theagent device 16 passes by a user carrying the agent device 14 on thestreet. Using the local wireless connection 34, the agent device 16provides a broadcast message including the ID of the agent device 16 andoptionally the URL of the central node 12 to the agent device 14 (step100). The agent device 16 may provide the broadcast message in responseto a request from the agent device 14 or automatically once the localwireless connection 34 is established. Since the duration of the localwireless connection 34 may be short due to the potentially mobile natureof the agent devices 14 and 16, providing only the broadcast messagerather than the content information itself is beneficial.

Note that for security purposes, the content information producer of theagent device 16 may be configured to reject requests from contentinformation consumers associated with agent devices not included in a“buddy” list. Likewise, the content information consumer 46 of the agentdevice 14 may be configured to only retrieve the content information foragent devices included in a “buddy” list.

The agent device 14 may interact with tens, hundreds, or even thousandsof other agent devices. Rather than obtaining content information foreach of the agent devices with which it comes into contact, the agentdevice 14, and specifically the content information consumer 46, mayfilter received broadcast messages such that content information isrequested for only desired agent devices. More specifically, thebroadcast message may also include a topic or general description of theagent device 16. Based on the topic or general description, the agentdevice 14 may determine whether to request the content information forthe agent device 16 from the central node 12. For example, the agentdevice 14 may be an MP3 player and the content information consumer 46may be manually or automatically configured to request the contentinformation for only other MP3 players. If the topic or generaldescription of the agent device 16 in the broadcast message identifiesthe agent device 16 as an MP3 player, the content information consumer46 may determine that the content information for the agent device 16 isto be requested from the central node 12. If the topic or generaldescription of the agent device 16 in the broadcast message identifiesthe agent device 16 as a satellite radio, the content informationconsumer 46 may decide that the content information for the agent device16 is not to be requested from the central node 12. In this manner, thecontent information consumer 46 may filter received broadcast messagesfrom other agent devices such that only desired content information isrequested from the central node 12.

Assuming that the content information for the agent device 16 is to berequested, the content information consumer 46 of the agent device 14may send a request to the central node 12 for the content information,or a portion thereof, for the agent device 16 (step 102). The requestincludes the ID of the agent device 16. The content information consumer46 may request the content information immediately upon receiving thebroadcast message from the agent device 16 or at any point in timethereafter. Notably, the content information consumer 46 may not requestthe content information until after the local wireless connection 34with the agent device 16 has ended. Further, the content informationconsumer 46 may request only a portion of the content information forthe agent device 16. For example, if the agent device 14 is an audioplayer, the content information consumer 46 may request only the portionof the content information for the agent device 16 relating to audiocontent.

Upon receiving the request from the agent device 14, the central node 12queries the database 24 using the ID of the agent device 16 to obtainthe content information for the agent device 16 and provides the contentinformation to the agent device 14 (step 104). Optionally, the centralnode 12 may also provide the location of the agent device 16 to theagent device 14. The agent device 14 may then process the contentinformation and optionally location for the agent device 16 for adesired purpose (step 106).

For example, the agent device 14 may compare the content information forthe agent device 16 with its own content information or preferences todetermine compatibility information. For example, the compatibilityinformation may be a compatibility score. If the compatibility score isabove a predetermined threshold or if a user of the agent device 14provides approval based on the compatibility score, the agent device 14may initiate communication with the agent device 16 either via the localwireless network 36 or the network 22. Communication between the agentdevices 14 and 16 may be used for social interaction such as chatting ore-mail, for file transfer, or for resource sharing. For example, a chatsession may be established between the agent devices 14 and 16. Asanother example, an ad-hoc network such as a Mobile Ad-Hoc Network(MANET), Virtual Private Network (VPN), or Darknet may be dynamicallycreated between the agent devices 14 and 16 using local wirelesscommunication or the network 22.

Rather than establishing communication with the agent device 16, theagent device 14 may use the content information for the agent device 16to influence content played by or settings for the agent device 14. Forexample, if the agent device 14 is a media player such as an MP3 player,the agent device 14 may select content to play based on the contentinformation of the agent device 16.

Still further, the user of the agent device 14 may decide to contact theuser of the agent device 16 via traditional means such as mail, e-mail,or telephone based on the content information or compatibilityinformation for the agent device 16.

Although the exemplary process illustrated in FIG. 3 includes only theagent devices 14 and 16, there may be any number of agent devices in thelocal wireless network 36. As such, the content information consumer 46of the agent device 14 may repeat steps 100-104 for each agent device inthe local wireless network 36. Thereafter, the agent device 14 mayprocess the content information from each of the agent devices for adesired purpose, as described above.

FIG. 4 illustrates an exemplary process wherein the agent device 14queries the database 24 at the central node 12 to find ones of the agentdevices 16-20 satisfying specified criteria. The process begins when theagent device 14, and more specifically the content information consumer46, sends a query to the central node 12 (step 200). The query includescriteria specified either by a user of the agent device 14 orautomatically by the content information consumer 46. The specifiedcriteria may include a maximum distance or range from the agent device14, one or more desired values for content information fields, one ormore user defined rules, or a combination thereof.

Upon receiving the query, the central node 12 then searches the database24 to find ones of the agent devices 16-20 satisfying the specifiedcriteria in the query (step 202). For example, the specified criteriamay include a maximum distance and a desired music artist. Further, ifthe maximum desired distance is 100 feet and the desired music artist isBarry Manilow, the central node 12 may search the database 24 to findones of the agent devices 16-20 located within 100 feet from the agentdevice 14 that have one or more songs by Barry Manilow. As anotherexample, the specified criteria may include the rule “find agent devicesthat have at least 50 images and have been in Wilmington, NC within thelast 6 months.” Using historical information stored for the agentdevices 16-20, the central node 12 may search for agent devicessatisfying this rule. As yet another example, the specified criteria mayinclude the rule “find agent devices that have at least 50 images, havebeen in Wilmington, N.C. within the last 6 months, and are within 100feet from me.” The central node 12 may search the database 24 for agentdevices satisfying this rule.

Once one or more of the agent devices 16-20 satisfying the specifiedcriteria are identified, a response is sent to the agent device 14 (step204). The response may include the IDs, content information, location,or any combination thereof for each of the identified agent devices.Alternatively, the response may include compatibility information, suchas a compatibility score, generated by the central node 12 based on acomparison of the content information for the identified agent devicesand the content information and/or user preferences for the agent device14.

The agent device 14 then processes the response (step 206). For example,the agent device 14 may compare the content information for theidentified agent devices with its own content information or preferencesto determine compatibility information. For example, the compatibilityinformation may be compatibility scores. If the compatibility scores areabove a predetermined threshold or if a user of the agent device 14provides approval based on the compatibility scores, the agent device 14may initiate communication with one or more of the identified agentdevices either via the local wireless network 36 or the network 322.Rather than establishing communication with the identified agentdevices, the agent device 14 may use the content information for theidentified agent devices to influence content played by or settings forthe agent device 14. Still further, the user of the agent device 14 maydecide to contact the users of the identified agent devices viatraditional means such as mail, e-mail, or telephone based on thecontent information or compatibility information for the identifiedagent devices.

FIG. 5 illustrates an exemplary process wherein the central node 12provides automatic alerts to the agent device 14 when one or more of theagent devices 16-20 satisfying specified criteria are available. Morespecifically, the agent device 14 provides a request for alerts to thecentral node 12 (step 300). The request for alerts includes specifiedcriteria for identifying agent devices of interest to the agent device14. The specified criteria may include a maximum distance or range fromthe agent device 14, one or more desired values for content informationfields, one or more user defined rules, or a combination thereof.

The central node 12 then periodically searches the database 24 to findones of the agent devices 16-20 satisfying the specified criteria fromthe agent device 14 (step 302). For example, the specified criteria mayinclude a maximum distance and a desired music artist. Further, if themaximum desired distance is 100 feet and the desired music artist isBarry Manilow, then the central node 12 may periodically search thedatabase 24 to find agent devices located within 100 feet from the agentdevice 14 and have one or more songs by Barry Manilow. As anotherexample, the specified criteria may include the rule “find agent devicesthat have at least 50 images and have been in Wilmington, N.C. withinthe last 6 months.” Using historical information stored for the agentdevices 16-20, the central node 12 may periodically search for agentdevices satisfying this rule. As yet another example, the specifiedcriteria may include the rule “find agent devices that have at least 50images, have been in Wilmington, N.C. within the last 6 months, and arewithin 100 feet from me.” The central node 12 may periodically searchthe database 24 for agent devices satisfying this rule.

When an agent device is found that satisfies the specified criteria, thecentral node 12 provides an alert to the agent device 14 (step 304). Thealert may include the ID, content information, location, or anycombination thereof for the agent device satisfying the specifiedcriteria. Alternatively, the alert may include compatibility informationgenerated by the central node 12 based on a comparison of the contentinformation for the agent device satisfying the specified criteria andthe content information and/or user preferences for the agent device 14.

The agent device 14 may then process the alert (step 306). For example,the agent device 14 may initiate communication with the agent devicesatisfying the specified criteria. In one embodiment, the agent device14 may compare the content information for the agent device satisfyingthe specified criteria with its own content information or preferencesto determine compatibility information. For example, the compatibilityinformation may be a compatibility score. If the compatibility score isabove a predetermined threshold or if a user of the agent device 14provides approval based on the compatibility score, the agent device 14may initiate communication with the agent device satisfying thespecified criteria either via the local wireless network 36 or thenetwork 22. Rather than establishing communication with the agent devicesatisfying the specified criteria, the agent device 14 may use thecontent information for the agent device satisfying the specifiedcriteria to influence content played by or settings for the agent device14. Still further, the user of the agent device 14 may decide to contactthe user of the agent device satisfying the specified criteria viatraditional means such as mail, e-mail, or telephone based on thecontent information or compatibility information for the agent devicesatisfying the specified criteria.

A further refinement of the process in FIG. 5 is to alert the agentdevice 14 when there is Local Area Network (LAN) proximity to one of theagent devices 16-20 satisfying specified criteria. More specifically,the agent device 14 may notify the central node 12 that it is enabled towork within a LAN. For example, the LAN may be an IEEE 802.11 LAN or aBluetooth piconet or scatternet. When the agent device 14 is within thesame LAN as one of the agent devices 16-20 satisfying the specifiedcriteria, the central node 12 provides an alert to the agent device 14.Thereafter, the agent device 14 may establish communication with the oneof the agent devices 16-20 satisfying the specified criteria via theLAN. More specifically, both the agent device 14 and the one of theagent devices 16-20 satisfying the specified criteria may be configuredas client devices in the LAN and communication between the agent devicesmay be established via a server of the LAN rather than directly betweenthe agent devices as described above.

FIG. 6 illustrates a process for obtaining compatibility informationfrom the central node 12. The process is similar to that illustrated inFIG. 3. The process begins when the agent device 16 enters the localwireless network 36 associated with the agent device 14 such that thelocal wireless connection 34 is established. Using the local wirelessconnection 34, the agent device 16 provides a broadcast messageincluding the ID of the agent device 16 and optionally the URL of thecentral node 12 to the agent device 14 (step 400).

The content information consumer 46 of the agent device 14 may then senda request to the central node 12 for compatibility information for theagent device 16 (step 402). The request includes the IDs of the agentdevices 14 and 16. The content information consumer 46 may send therequest immediately upon receiving the broadcast message from the agentdevice 16 or at any point in time thereafter. Upon receiving the requestfrom the agent device 14, the central node 12 queries the database 24using the IDs of the agent devices 14 and 16 to obtain the contentinformation for the agent devices 14 and 16, generates the compatibilityinformation (step 404), and sends the compatibility information to theagent device 14 (step 406). The compatibility information may begenerated based on a comparison of the content information for the agentdevice 16 and the content information and/or preferences for the agentdevice 14. For example, the preferences may include preferred musicartists, preferred keywords for digital images, and the like.Optionally, the central node 12 may also provide the location of theagent device 16 to the agent device 14. The agent device 14 may thenprocess the compatibility information and optionally the location of theagent device 16 for a desired purpose (step 408).

For example, the compatibility information may be a compatibility score.If the compatibility score is above a predetermined threshold or if auser of the agent device 14 provides approval based on the compatibilityscore, the agent device 14 may initiate communication with the agentdevice 16 either via the local wireless network 36 or the network 22.Communication between the agent devices 14 and 16 may be used for socialinteraction such as chatting or e-mail, for file transfer, or forresource sharing. For example, a chat session may be established betweenthe agent devices 14 and 16. As another example, an ad-hoc network suchas a Mobile Ad-Hoc Network (MANET), Virtual Private Network (VPN), orDarknet may be dynamically created between the agent devices 14 and 16using local wireless communication or the network 22.

Still further, the user of the agent device 14 may decide to contact theuser of the agent device 16 via traditional means such as mail, e-mail,or telephone based on the compatibility information for the agent device16.

FIG. 7 is a block diagram of an exemplary embodiment of the central node12. In general, the central node 12 includes a control system 50 havingassociated memory 52. In this example, the database 24 is implemented inthe memory 52. However, the database 24 may be implemented in a separatestorage unit such as a hard disc drive. The central node 12 alsoincludes a communication interface 54 communicatively coupling thecentral node 12 to the network 22. The central node 12 may also includea user interface 56 including components such as a display, keyboard,and the like.

FIG. 8 is a block diagram of an exemplary embodiment of the agent device14. In general, the agent device 14 includes a control system 58 andassociated memory 60. In this example, the content information producer44 and the content information consumer 46 are implemented in softwareand are stored in the memory 60. Alternatively, the content informationproducer 44 and the content information consumer 46 may be implementedin hardware or a combination of hardware and software. The agent device14 also includes the content storage unit 42. The content storage unit42 may be implemented as memory or as a storage device such as a harddisc drive. Alternatively, the content storage unit 42 may beimplemented in the memory 60.

The agent device 14 optionally includes the location service 48. Thelocation service 48 may be implemented in hardware, software, or acombination thereof. In one embodiment, the location service is an SPSreceiver. In another embodiment, the location service communicates witha cellular network or the like to obtain the location of the agentdevice 14.

The agent device 14 also includes a communication interface 62. Thecommunication interface 62 may include a local wireless communicationinterface operating according to the Bluetooth standard, the Zigbeestandard, one of the IEEE 802.11 standards, or the like forcommunicating with the other agent devices 16-20 when they are proximateto the agent device 14. The communication interface 62 also includes aninterface to the network 22. The interface to the network 22 may bewired or wireless. If wireless, the interface to the network 22 mayoperate according to a cellular communication standard, the Wi-Fistandard, or the like. The agent device 14 may also include a userinterface 64 including components such as a display, a keyboard orbuttons, speakers, and the like.

As will be apparent to one of ordinary skill in the art, the agentdevice 14 may include additional hardware, software, or a combinationthereof. For example, if the agent device 14 is a media player, theagent device 14 may include additional hardware, software, or acombination thereof enabling the agent device 14 to play media such asdigital audio, digital video, or the like.

Those skilled in the art will recognize improvements and modificationsto the preferred embodiments of the present invention. All suchimprovements and modifications are considered within the scope of theconcepts disclosed herein and the claims that follow.

What is claimed is:
 1. A central node comprising: a) a communicationinterface adapted to communicatively couple the central node to anetwork; and b) a control system associated with the communicationinterface and adapted to: i) obtain content information describingdigital media content items digitally stored by a plurality of agentdevices; ii) store the content information from the plurality of agentdevices in a database; iii) receive a request from one of a plurality ofrequesting nodes including the plurality of agent devices for thecontent information for one of the plurality of agent devices where therequest comprises an identifier of the one of the plurality of agentdevices; and iv) provide at least a subset of the content informationfor the one of the plurality of agent devices to the one of theplurality of requesting nodes in response to the request.
 2. The centralnode of claim 1, wherein the identifier was obtained by the one of theplurality of requesting nodes from the database at the central node. 3.The central node of claim 1, wherein the identifier was obtained by theone of the plurality of requesting nodes from the one of the pluralityof agent devices when the one of the plurality of agent devices waswithin a local wireless coverage area of the one of the plurality ofrequesting nodes.
 4. The central node of claim 1, wherein the digitalmedia content items comprise digital video items.
 5. A non-transitorycomputer-readable storage medium storing instructions for instructing aprocessor of an agent device to: identify a second agent device havingcontent information; send a request to a central node for the contentinformation for the second agent device where the request comprises anidentifier of the second agent device that was obtained by the agentdevice; and receive at least a subset of the content information for thesecond agent device from the central node.
 6. The non-transitorycomputer-readable storage medium of claim 5, wherein the instructionsfurther instruct the processor to receive information identifying atleast a subset of the content information for the second agent device.7. The non-transitory computer-readable storage medium of claim 6,wherein the agent device plays back content based on the contentinformation at the second agent device.
 8. The non-transitorycomputer-readable storage medium of claim 5, wherein the contentinformation relates to digital media content items.
 9. Thenon-transitory computer-readable storage medium of claim 8, wherein thedigital media content items comprise digital images.
 10. Thenon-transitory computer-readable storage medium of claim 8, wherein thedigital media content items comprise digital music items.
 11. Thenon-transitory computer-readable storage medium of claim 8, wherein thedigital media content items comprise digital video items.
 12. Thenon-transitory computer-readable storage medium of claim 5, wherein thecontent information comprises playlists.
 13. The non-transitorycomputer-readable storage medium of claim 5, wherein the contentinformation comprises information that identifies digital media contentitems currently being played by the second agent device.
 14. Thenon-transitory computer-readable storage medium of claim 5, wherein theinstructions further instruct the processor to: receive the contentinformation from the second agent device via a broadcast message; andfilter the broadcast message.
 15. The non-transitory computer-readablestorage medium of claim 14, wherein the broadcast message is filteredbased on a topic.
 16. The non-transitory computer-readable storagemedium of claim 14, wherein the broadcast message is filtered based on adescription of the second agent device.
 17. The non-transitorycomputer-readable storage medium of claim 5, wherein the instructionsfurther instruct the processor to: compare the content information ofthe second agent device with content information associated with theagent device; and determine a compatibility score based on thecomparison.
 18. The non-transitory computer-readable storage medium ofclaim 5, wherein the agent device obtains the identifier when the secondagent device is within a local wireless coverage area of the agentdevice.
 19. A system comprising: an agent device; and a central node,wherein the central node comprises: a communication interface adapted tocommunicatively couple the central node to a network; and a controlsystem associated with the communication interface and adapted to:obtain content information describing digital media content itemsdigitally stored by the agent device; store the content information fromthe agent device in a database; receive a request from a requesting nodefor the content information for the agent device where the requestcomprises an identifier of the agent device; and provide at least asubset of the content information for the agent device to the requestingnode in response to the request, such that the requesting node playsback content associated with the content information.
 20. The system ofclaim 19 wherein the identifier was obtained by the requesting node fromthe database at the central node.
 21. The central node of claim 19wherein the identifier was obtained by the requesting node from theagent device when the agent device was within a local wireless coveragearea of the requesting node.
 22. The central node of claim 19 whereinthe digital media content items comprise digital video items.